const express = require("express")
let advRoute = express()
let model = require("../models/advModel")
//引入文件解析
const { returnData } = require("../util/index")
advRoute.post("/advData", async (req, res) => {
    try {
        // 后端解析文件传入需要使用外部包formidable,外部包已经被封装到util中
        let fileData = await returnData(req)
        // 添加时间戳
        fileData.time = new Date().toLocaleDateString()
        // 创建数据库将数据存储在数据库中
        let result = await model.create(fileData)
        console.log(result);
        res.send({
            statu: 1
        })
    } catch (error) {
        if (error) {
            return console.log(error);
        }
    }

})
advRoute.get('/getAdvData', async (req, res) => {
    let resultData = await model.find()

    // 添加分页
    // 获取总数
    let maxData = resultData.length
    // 设置每页显示
    let oneCount = 4
    // 页面总数
    let tote = Math.ceil(maxData / oneCount)
    // 分割页面输出
    let p = req.query.p
    resultData = await model.find().skip(oneCount * (p - 1)).limit(oneCount)
    // 将数据直接传输到前端,然后使用ejs渲染
    res.json({
        statu: 1,
        resultData,
        tote
    })
})
// 删除数据接口
advRoute.delete("/delData", async (req, res) => {
    let { _id } = req.query
    console.log(_id);
    let reslut = await model.deleteOne({ _id })
    console.log(reslut);
    res.json({
        statu: 1,
        reslut
    })
})
// 更新数据接口
advRoute.post("/updata", async (req, res) => {
    try {
        // 后端解析文件传入需要使用外部包formidable,外部包已经被封装到util中
        let fileData = await returnData(req)
        // 添加时间戳
        fileData.time = new Date().toLocaleDateString()
        // 创建数据库将数据存储在数据库中
        let { _id, ...setData } = fileData// 解构分离查询和修改值
        let result = await model.updateOne({ _id }, { $set: setData })
        console.log(result);
        res.send({
            statu: 1
        })
    } catch (error) {
        if (error) {
            res.send({
                statu: 0,
                error
            })
            return console.log(error);
        }
    }
})
module.exports = advRoute